package com.company.project.common.utils;

import java.util.UUID;


/**
 * 密码工具类
 *
 * @author
 * @version V1.0
 * @date 2020年3月18日
 */
public class PasswordUtils {

    /**
     * 匹配密码
     *
     * @param salt    盐
     * @param rawPass 明文
     * @param encPass 密文
     * @return 是否匹配
     */
    public static boolean matches(String salt, String rawPass, String encPass) {
        return new PasswordEncoder(salt).matches(encPass, rawPass);
    }

    /**
     * 明文密码加密
     *
     * @param rawPass 明文
     * @param salt    盐
     * @reture 加密后
     */
    public static String encode(String rawPass, String salt) {
        return new PasswordEncoder(salt).encode(rawPass);
    }

    /**
     * 获取加密盐
     *
     * @return 盐值
     */
    public static String getSalt() {
        return UUID.randomUUID().toString().replaceAll("-", "").substring(0, 20);
    }
    
    /**
	 * 
	 * @Des：根据姓名和身份证号码生成MD5（身份证号最后一位若是x，转为大写X），
	 * 		在数字中国创新赛平台上判断是否已注册
	 * @param name
	 * @param idNumber
	 * @return
	 */
    public static boolean isRegistered(String name,String idNumber,String url) {
    	return new PasswordEncoder().isRegistered(name, idNumber,url);
    }
    
    public static String getMD5(String name,String idNumber) {
    	return new PasswordEncoder().getMD5(name, idNumber);
    }

}
